package biz.datalk.industrialland.admin.modules.common.controller;

import biz.datalk.industrialland.admin.modules.common.servie.IFileService;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author tarofang@163.com
 * @date 2024-01-20
 */
@RestController
@RequestMapping("/api/file")
public class FileController {
    private final IFileService fileService;

    public FileController(IFileService fileService) {
        this.fileService = fileService;
    }

    /**
     * @param mod 查看模式 s - 流模式 f - 文件模式
     * @param fileSignedCode 临时授权码
     * @param request {@link javax.servlet.http.HttpServletRequest}
     * @param response {@link javax.servlet.http.HttpServletResponse}
     *
     * @author tarofang@163.com
     * @date 2024年01月21日
     */
    // @SysLog(OptEnum.XCX_FILE_10701) 已在业务中实现日志记录
    @RequestMapping("/signed_view/{mod}/{fileSignedCode}")
    public void signedView(
            @PathVariable("mod") String mod, //
            @PathVariable("fileSignedCode") String fileSignedCode, //
            HttpServletRequest request, //
            HttpServletResponse response) {
        fileService.signedView(mod, fileSignedCode, request, response);
    }

    // /**
    //  * 文件上传
    //  *
    //  * @param type    上传类型 parking_apply
    //  * @param request {@link HttpServletRequest}
    //  *
    //  * @return 出参
    //  *
    //  * @author tarofang@163.com
    //  * @date 2024年01月20日
    //  */
    // @SysLog(OptEnum.XCX_FILE_20401)
    // @PostMapping(value = "/upload/{type}")
    // public UnifyResult upload(@PathVariable("type") String type, HttpServletRequest request) {
    //     return fileService.upload(type, request);
    // }
    //
    // /**
    //  * 文件下载
    //  *
    //  * @param mod      查看模式 s - 流模式 f - 文件模式
    //  * @param fileCode 文件编码
    //  *
    //  * @author tarofang@163.com
    //  * @date 2024年01月21日
    //  */
    // @SysLog(OptEnum.XCX_FILE_20402)
    // @PostMapping("/download/{mod}/{fileCode}")
    // public void download(
    //         @PathVariable("mod") String mod, //
    //         @PathVariable("fileCode") String fileCode, //
    //         HttpServletRequest request, //
    //         HttpServletResponse response) {
    //     fileService.download(mod, fileCode, request, response);
    // }
    //
    // @SysLog(OptEnum.XCX_FILE_20403) 已在业务中实现日志记录
    @RequestMapping("/view/{mod}/{fileCode}")
    public void view(@PathVariable("mod") String mod, //
            @PathVariable("fileCode") String fileCode, //
            HttpServletRequest request, //
            HttpServletResponse response) {
        fileService.view(mod, fileCode, request, response);
    }

}
